This invention relates generally to communication in a distributed network computing environment. More particularly, this invention relates to customizing the selection of Web pages in an Internet environment based on the requesting client device.
The World Wide Web, or simply "the web", is the Internet's multimedia information retrieval system. It is the most commonly used method of transferring data in the Internet environment. In the Web environment, clients request Web pages from Web servers using the Hypertext Transfer Protocol (HTTP). HTTP is a protocol which provides users access to files which include text, graphics, images, sound, using a standard page description language known as the Hypertext Markup Language (HTML). HTML provides document formatting allowing the developer to specify links to other servers in the network. The path to a particular Web server is defined by a Uniform Resource Locator (URL). Web pages are typically accessed using an HTML compatible browser such as Netscape Navigator which specifies the link to the Web Server and particular Web page using the URL.
With the popularity of World Wide Web, many companies are devoting a majority of their development effort to produce software applications running on the Internet using the Internet protocols such as HTTP and HTML. Other methods exist such as the File Transfer Protocol (FTP) and Gopher, but have not achieved the popularity of the Web.
Retrieval of information is generally achieved by the use of an HTML-compatible "browser", e.g., Netscape Navigator, at a client machine. When the user of the browser specifies a link via a URL, the client issues a request to a naming service to map a hostname in the URL to a particular network IP address at which the server is located. The naming service returns a list of one or more IP addresses that can respond to the request. Using one of the IP addresses, the browser establishes a connection to a server. If the server is available, it returns a document or other object formatted according to HTML.
As Web browsers become the primary interface for access to many network and server services, Web applications in the future will need to interact with many different types of client machines including the typical personal computer to "thin" clients. Thin clients can range between 60 inch TV screens to handheld mobile devices. This large range of devices creates a need to customize the web GUI to the type of device to which the server is communicating. Using prior art technology one would most likely need to write different HTML pages or different web programs, e.g., java, cgi, etc., to handle the GUI and navigation requirements of each client environment.
The client devices differ in their display capabilities, e.g., monochrome, color, different color palettes, resolution, size. They also vary in the input devices which may be attached, e.g., mouse and keyboard, touch sensor, remote control for a TV set-top box. Furthermore, the browsers themselves can vary in the languages supported, e.g., HTML, dynamic HTML, XML, Java, JavaScript. Because of these differences, the web browsing experience of browsing the same web page may differ wildly depending on the client device.
This incapability to adjust to the client's capabilities and environment causes a number of problems. The site may simply be incapable of servicing a set of clients, or make the web browsing experience confusing or unsatisfactory in some way. Even if the web developers have made an effort to accommodate a range of client devices, the code for each application may need to be duplicated for each environment. Duplicated code consequently increases the maintenance cost for the Web site. Frequently, different URLs are required to be known for different classes of clients for different HTML pages, CGI programs and so forth.
This invention presents a novel solution for the problem.